软件开发漏洞消减模型包括哪些方面
软件开发漏洞消减模型包括以下这些方面:
理解安全原则:安全是开发、测试、使用及维护人员都必须知道的规程。因此必须要求相关的人员理解并遵循下面这些安全原则,使其能够预防漏洞并建立起相对安全的系统。常见的安全原则包括:简单易懂;最小特权;故障安全化;保护最弱环节;提供深度防御;分隔;总体调节;默认不信任;保护隐私;公开设计。
掌握安全规范:在软件开发项目的起始阶段就必须考虑安全规范,包括安全原则、规则及规章等。在本阶段,应该创建一份系统范围的规范,在其中定义系统的安全需求。此规范可基于特定的行业规范、公司制度或法律条文来定义。
安全设计:安全设计首先要了解一个系统有怎样的安全需求。安全需求是整个软件漏洞分析中非常重要的一个环节,例如,通过威胁建模可以得到Web应用的安全需求。典型的Web应用安全需求包括:审计和日志记录、身份验证、会话管理、输入验证和输出编码、异常处理、加密要求、配置安全要求等。
安全编码:应用软件中的大部分漏洞都是在开发过程产生的,为此,研究者提出了安全编码的一些原则,如保持简单、验证输入和默认拒绝等。PHP语言提供了大量方便Web应用程序开发人员使用的函数,但是在使用这些函数时,很容易引入安全漏洞,因此,应当为开发人员提供辅助提示工具,提醒开发人员在使用某些危险函数时需要注意的相关安全问题,辅助开发人员进行安全编码,及早地对安全漏洞进行消减。
漏洞检测:程序测试是使程序成为可用产品的至关重要的措施,也是发现和排除程序不安全因素最有用的手段之一。测试的目的有两个一个是确定程序的正确性,另一个是排除程序中的安全隐患。测试的方法主要包括静态测试、动态测试、模糊测试和渗透测试。
部署防护:在信息技术、产品和系统的使用和维护过程中,对漏洞进行预防的关键就是要对信息技术、产品和系统进行面向漏洞的专项安全防护。IATF的核心思想是纵深防御战略。所谓纵深防御战略,就是采用一个多层次的、纵深的安全措施来保障用户信息及信息系统的安全。在纵深防御战略中,人、技术和操作是三个主要核心因素,要保障信息及信息系统的安全,三者缺一不可。
响应修复:应急响应是指一个组织为了应对各种意外事件的发生所做的准备,以及在事件发生后所采取的措施。对软件中所发现的安全漏洞做好安全响应,主要有以下几个原因一是开发团队一定会出错;二是新漏洞一定会出现;三是规则一定会发生变化。完善的应急响应系统需要从全局的角度建立一个具备合理的组织架构、高效的信息流程和控制流程,以及动态的安全保障系统。